home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO079B.dsk
/
IIC
/
IIC.06.BUFFER.txt
< prev
next >
Wrap
Text File
|
2012-02-16
|
3KB
|
77 lines
Apple II
Technical Notes
_____________________________________________________________________________
Developer Technical Support
Apple IIc
#6: Buffering Blues
Revised by: Mike Askins November 1988
Written by: Guillermo Ortiz January 1987
This Technical Note describes changes on the memory-expandable IIc which
affect the procedures for enabling keyboard and serial input buffering.
_____________________________________________________________________________
When the IIc firmware was reorganized to accommodate the memory expansion card
in slot 4, the mouse moved to slot 7, thus causing some screen holes to be
reassigned. This change may software which uses keyboard or serial input
buffering to crash.
The following list shows the changes in the locations which are used for
enabling keyboard and serial input buffering:
Original &
Name 3.5 ROM Expandable IIc Comment
typhed $5FA $5FA ;buffer the keyboard? NO CHANGE
twkey $5FF $5FC ;storage pointer for type-ahead buffer
trkey $6FF $6FC * ;retrieve pointer for type-ahead buffer
aciabuf $4FF $4FC ;Owner of serial buffer, if any
twser $57F $57C ;storage pointer for serial buffer
trser $67F $67C ;retrieve pointer for serial buffer
* In the version 3 ROM (original "memory-expandable" IIc) this pointer
is still $6FF which causes, among other things, the Terminal Mode to
be inoperative. Revision 4 of the IIc firmware fixes this bug.
We can not emphasize enough the need for carefully checking the version of the
machine on which a program is running. It is also important to pay attention
to the now obvious fact that even in the Apple IIc things can (and most
probably will) move around, making any hard-coded slot assignment a sure
source of incompatibility. To ensure compatibility, scan the slots.
The Apple IIc Technical Reference Manual describes how to enable buffering.
Using serial buffering as an example, the pertinent instructions in the manual
should now be understood as meaning:
Using Serial Buffering Transparently
If (machineID = "Memory Expandable IIc") then
begin
aciabuf = $04FC; {Newest IIc with Expanded Memory Capabilities,}
twser = $057C; {ROM versions 3 and 4.}
trser = $067C
end
else
begin
aciabuf = $04FF; {Original IIc and 3.5 ROM IIc}
twser = $057F;
trser = $067F
end;
Set_Location aciabuf to $C1 or $C2.
Set_Locations twser and trser to $0.
Using Serial Interrupts Through Firmware
Set_Location aciabuf to a value other than $C1 or $C2
Further Reference
o Apple IIc Technical Reference Manual
o Apple IIc Technical Note #7, Existing Versions
o Apple II Miscellaneous Technical Note #7, Apple II Family Identification